package com.ruoyi.management.mock.service;


import com.ruoyi.management.basics.vo.GetBannerListVo;
import com.ruoyi.management.mock.ro.*;
import com.ruoyi.management.mock.vo.GetNoticeByIdVo;
import com.ruoyi.management.mock.vo.GetNoticeListVo;
import com.ruoyi.passenger.notice.ro.GetDriverHnoticeListParam;
import com.ruoyi.passenger.notice.ro.GetHnoticeListParam;
import com.ruoyi.passenger.notice.ro.GetHnoticeParam;
import com.ruoyi.passenger.notice.vo.GetNoticeVO;

import java.util.List;

/**
 * 公告Service接口
 *
 * @author ruoyi
 * @date 2021-11-29
 */
public interface ITNoticeService {
    /**
     * 查询公告
     *
     * @return 公告
     */
    GetNoticeByIdVo selectTNoticeById(GetNoticeByIdParam param);

    /**
     * 查询公告列表
     *
     * @return 公告集合
     */
    List<GetNoticeListVo> selectTNoticeList(GetNoticeListParam param);

    /**
     * 新增公告
     *
     * @return 结果
     */
    int addTNotice(AddNoticeParam param);

    /**
     * 修改公告
     *
     * @return 结果
     */
    int updateTNotice(UpdateNoticeParam param);

    /**
     * 公告发布/下架
     *
     * @return 结果
     */
    int noticeShelves(NoticeShelvesParam param);

    /**
     *banner查询 -驾驶员端
     * @return
     */
    List<GetBannerListVo> getBannerList();

    /**
     *banner查询 -乘客端端
     * @return
     */
    List<GetBannerListVo> selectBannerList();

    /**
     *  公告查询 带分页 -驾驶员端
     * @return
     */
    List<GetNoticeByIdVo> getNoticeList(GetDriverHnoticeListParam param);

    /**
     * 公告查询 带分页 -乘客端
     * @return
     */
    List<GetNoticeByIdVo> selectNoticeList(GetHnoticeListParam param);

    /**
     * 公告详情
     * @param param
     * @return
     */
    GetNoticeVO selectNoticeById(GetHnoticeParam param);

    int downNotice();
}
